import { Application } from 'egg';

export default (app: Application) => {
  const { controller, router } = app;
  // 自定义校验规则 校验normalUserRule中type为myUserName的规则
  // app.validator.addRule('myUserName', (_rule, value: string) => {
  //   if (value.length < 6) {
  //     return '用户名至少是6位';
  //   }
  // });

  router.get('/home', controller.home.index);

  require('./router/code')(app); // 验证码接口
  require('./router/account')(app); // 操作用户登录注册接口
  // 利用 Restful-API 规则设计接口
  require('./router/user')(app); // 用户列表接口
  require('./router/role')(app); // 角色相关接口
  require('./router/rights')(app); // 权限相关接口

  // 给用户分配角色接口
  router.post('/api/v1/userrole', controller.userRole.create);
  // 删除用户角色接口
  router.delete('/api/v1/userrole/:userId', controller.userRole.destroy);

  // 给角色分配权限接口
  router.post('/api/v1/roleRights', controller.roleRights.create);
  // 移除角色的权限接口
  router.delete('/api/v1/roleRights/:roleId', controller.roleRights.destroy);

  // 测试接口
  // router.get('/test', controller.users.allUsers);
};
